package com.jxtc.enterprise.common.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDateTime;

@Getter
@Setter
@ToString
@TableName(value = "store_settlement")
public class StoreSettlement {
    /**
     * 主键，UUID
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 店铺 ID
     */
    private String storeId;
    /**
     * 店铺名称
     */
    private String storeName;
    /**
     * 结算账单所属月份，yyyy-MM 格式
     */
    private String month;
    /**
     * 结算开始时间，yyyy-MM-dd 格式
     */
    private String startDate;
    /**
     * 结算结束时间，yyyy-MM-dd 格式
     */
    private String endDate;
    /**
     * 距离结算结算时间多少天开始提示，单位：天
     */
    private Integer noteDay;
    /**
     * 订单总份数
     */
    private Integer totalOrderCount;
    /**
     * 订单总金额，单位：分
     */
    private Integer orderMoney;
    /**
     * 附加款项，单位：分
     */
    private Integer additionalMoney;
    /**
     * 扣款项，单位：分
     */
    private Integer deductionMoney;
    /**
     * 结算日志，格式为 JSONArray 字符串
     */
    private String billLog;
    /**
     * 结算状态，对应关系如下：
     * 未结算（10）
     * 待 HR 确认（20）, 暂时未实现，未使用到
     * 待平台复核（30）, 暂时未实现，未使用到
     * 待结算（40）
     * 已结算（50）
     */
    private Integer status;
    /**
     * 发票凭证图片列表，格式为 JSONArray 字符串
     */
    private String invoiceImages;
    /**
     * 转账凭证图片列表，格式为 JSONArray 字符串
     */
    private String transferImages;
    /**
     * 账单链接
     */
    private String billUrl;
    /**
     * 软删除标记，1 表示已删除，0 表示未删除
     */
    private Boolean delFlag;
    /**
     * 创建时间，在创建时默认传值，不需要手动操作
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    /**
     * 更新时间，在更新时默认传值，不需要手动操作
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
